package DAO;

import java.util.List;

import interfacedao.UsuarioDAO;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import modelo.Usuario;

/**
 * Session Bean implementation class UsuarioDAOBean
 */
@Stateless
@LocalBean
public class UsuarioDAOBean implements UsuarioDAO {
	
	@PersistenceContext(unitName="prova")
	private EntityManager em;
	
    public UsuarioDAOBean() { }

    @SuppressWarnings("unchecked")
	@Override
	public List<Usuario> buscarUsuario() {
		Query query = em.createNamedQuery("listaUsuarios", Usuario.class);
		return query.getResultList();
	}

	@Override
	public void criarUsuario(Usuario u) {
		em.persist(u);
		
	}

	@Override
	public Boolean apagarUsuario(Usuario u) {
		em.remove(u);
		return true;
	}

	
	@Override
	public void atualizaUsuario(Usuario u) {
		em.merge(u);
		
	}

	@Override
	public Usuario buscaUsuMatricula(String matricula) {
		return em.createNamedQuery("buscaUsuPorMatricula", Usuario.class)
				.setParameter("matricula", matricula).getSingleResult();
		
	}

}
